package com.ybkj.daijia.server.dockingsupervise.zhuanche;

import java.io.Serializable;
import java.util.Date;

public class SjpxMessage implements Serializable {

    private static final long serialVersionUID = 1L;
    private Long id;
    private String courseName;
    private Date courseDate;
    private Date courseStartDate;
    private Date courseEndDate;
    private String courseDays;
    private String licence;
    private String driverIdCode;
    private String appKey;
    private Date created;
    private Date updated;
    //临时字段
    private int Address;
    private String LicenseId;
    private String type = Type.MOREQ_SJPX;

    public int getAddress() {
        return Address;
    }

    public void setAddress(int address) {
        Address = address;
    }

    public String getLicenseId() {
        return LicenseId;
    }

    public void setLicenseId(String licenseId) {
        LicenseId = licenseId;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName == null ? null : courseName.trim();
    }

    public Date getCourseDate() {
        return courseDate;
    }

    public void setCourseDate(Date courseDate) {
        this.courseDate = courseDate;
    }

    public Date getCourseStartDate() {
        return courseStartDate;
    }

    public void setCourseStartDate(Date courseStartDate) {
        this.courseStartDate = courseStartDate;
    }

    public Date getCourseEndDate() {
        return courseEndDate;
    }

    public void setCourseEndDate(Date courseEndDate) {
        this.courseEndDate = courseEndDate;
    }

    public String getCourseDays() {
        return courseDays;
    }

    public void setCourseDays(String courseDays) {
        this.courseDays = courseDays == null ? null : courseDays.trim();
    }

    public String getLicence() {
        return licence;
    }

    public void setLicence(String licence) {
        this.licence = licence == null ? null : licence.trim();
    }

    public String getDriverIdCode() {
        return driverIdCode;
    }

    public void setDriverIdCode(String driverIdCode) {
        this.driverIdCode = driverIdCode == null ? null : driverIdCode.trim();
    }

    public String getAppKey() {
        return appKey;
    }

    public void setAppKey(String appKey) {
        this.appKey = appKey == null ? null : appKey.trim();
    }

    public Date getCreated() {
        return created;
    }

    public void setCreated(Date created) {
        this.created = created;
    }

    public Date getUpdated() {
        return updated;
    }

    public void setUpdated(Date updated) {
        this.updated = updated;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        SjpxMessage other = (SjpxMessage) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getCourseName() == null ? other.getCourseName() == null
            : this.getCourseName().equals(other.getCourseName()))
            && (this.getCourseDate() == null ? other.getCourseDate() == null
            : this.getCourseDate().equals(other.getCourseDate()))
            && (this.getCourseStartDate() == null ? other.getCourseStartDate() == null
            : this.getCourseStartDate().equals(other.getCourseStartDate()))
            && (this.getCourseEndDate() == null ? other.getCourseEndDate() == null
            : this.getCourseEndDate().equals(other.getCourseEndDate()))
            && (this.getCourseDays() == null ? other.getCourseDays() == null
            : this.getCourseDays().equals(other.getCourseDays()))
            && (this.getLicence() == null ? other.getLicence() == null
            : this.getLicence().equals(other.getLicence()))
            && (this.getDriverIdCode() == null ? other.getDriverIdCode() == null
            : this.getDriverIdCode().equals(other.getDriverIdCode()))
            && (this.getAppKey() == null ? other.getAppKey() == null
            : this.getAppKey().equals(other.getAppKey()))
            && (this.getCreated() == null ? other.getCreated() == null
            : this.getCreated().equals(other.getCreated()))
            && (this.getUpdated() == null ? other.getUpdated() == null
            : this.getUpdated().equals(other.getUpdated()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getCourseName() == null) ? 0 : getCourseName().hashCode());
        result = prime * result + ((getCourseDate() == null) ? 0 : getCourseDate().hashCode());
        result =
            prime * result + ((getCourseStartDate() == null) ? 0 : getCourseStartDate().hashCode());
        result =
            prime * result + ((getCourseEndDate() == null) ? 0 : getCourseEndDate().hashCode());
        result = prime * result + ((getCourseDays() == null) ? 0 : getCourseDays().hashCode());
        result = prime * result + ((getLicence() == null) ? 0 : getLicence().hashCode());
        result = prime * result + ((getDriverIdCode() == null) ? 0 : getDriverIdCode().hashCode());
        result = prime * result + ((getAppKey() == null) ? 0 : getAppKey().hashCode());
        result = prime * result + ((getCreated() == null) ? 0 : getCreated().hashCode());
        result = prime * result + ((getUpdated() == null) ? 0 : getUpdated().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", courseName=").append(courseName);
        sb.append(", courseDate=").append(courseDate);
        sb.append(", courseStartDate=").append(courseStartDate);
        sb.append(", courseEndDate=").append(courseEndDate);
        sb.append(", courseDays=").append(courseDays);
        sb.append(", licence=").append(licence);
        sb.append(", driverIdCode=").append(driverIdCode);
        sb.append(", appKey=").append(appKey);
        sb.append(", created=").append(created);
        sb.append(", updated=").append(updated);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}
